Field
This disclosure generally relates to adiabatic quantum computation and quantum annealing and particularly relates to methods of adiabatic quantum computation and quantum annealing using a superconducting quantum processor.
Superconducting Qubits
There are many different hardware and software approaches under consideration for use in quantum computers. One hardware approach employs integrated circuits formed of superconducting material, such as aluminum and/or niobium, to define superconducting qubits. Superconducting qubits can be separated into several categories depending on the physical property used to encode information. For example, they may be separated into charge, flux and phase devices. Charge devices store and manipulate information in the charge states of the device; flux devices store and manipulate information in a variable related to the magnetic flux through some part of the device; and phase devices store and manipulate information in a variable related to the difference in superconducting phase between two regions of the phase device.
Many different forms of superconducting flux qubits have been implemented in the art, but all successful implementations generally include a superconducting loop (i.e., a “qubit loop”) that is interrupted by at least one Josephson junction. Some embodiments implement multiple Josephson junctions connected either in series or in parallel (i.e., a compound Josephson junction) and some embodiments implement multiple superconducting loops.
Quantum Processor
A computer processor may take the form of an analog processor, for instance a quantum processor such as a superconducting quantum processor. A superconducting quantum processor may include a number of qubits and associated local bias devices, for instance two or more superconducting qubits. Further detail and embodiments of exemplary quantum processors that may be used in conjunction with the present systems, methods, and apparatus are described in US Patent Publication No. 2006-0225165, US Patent Publication 2008-0176750, U.S. patent application Ser. No. 12/266,378, and PCT Patent Application Serial No. PCT/US09/37984.
Adiabatic Quantum Computation
Adiabatic quantum computation typically involves evolving a system from a known initial Hamiltonian (the Hamiltonian being an operator whose eigenvalues are the allowed energies of the system) to a final Hamiltonian by gradually changing the Hamiltonian. A simple example of an adiabatic evolution is:He=(1−s)Hin+sHf 
where Hin is the initial Hamiltonian, Hf is the final Hamiltonian, He is the evolution or instantaneous Hamiltonian, and s is an evolution coefficient which controls the rate of evolution. As the system evolves, the coefficient s goes from 0 to 1 such that at the beginning (i.e., s=0) the evolution Hamiltonian He is equal to the initial Hamiltonian Hin and at the end (i.e., s=1) the evolution Hamiltonian He is equal to the final Hamiltonian Hf. Before the evolution begins, the system is typically initialized in a ground state of the initial Hamiltonian Hin and the goal is to evolve the system in such a way that the system ends up in a ground state of the final Hamiltonian Hf at the end of the evolution. If the evolution is too fast, then the system can be excited to a higher energy state, such as the first excited state. In the present systems, methods, and apparatus, an “adiabatic” evolution is considered to be an evolution that satisfies the adiabatic condition:{dot over (s)}|1|dHe/ds|0|=δg2(s)where {dot over (s)} is the time derivative of s, g(s) is the difference in energy between the ground state and first excited state of the system (also referred to herein as the “gap size”) as a function of s, and δ is a coefficient much less than 1.
The evolution process in adiabatic quantum computing may sometimes be referred to as annealing. The evolution of s, sometimes referred to as an evolution or annealing schedule, is normally slow enough that the system is always in the instantaneous ground state of the evolution Hamiltonian during the evolution, and transitions at anti-crossings (i.e., when the gap size is smallest) are avoided. Further details on adiabatic quantum computing systems, methods, and apparatus are described in U.S. Pat. No. 7,135,701.
Although adiabatic quantum computation is thought to be faster at solving some computational problems than classical computers, the speed is limited by the fact that the quantum system must be evolved slowly enough to avoid excitations out of the ground state. Farhi et al., 2002, arXiv.org:quant-ph/0208135 propose using faster non-linear evolution schedules. Sarandy et al., Physical Review Letters 95, 250503 analyze situations where the adiabaticity of the evolution breaks down and suggest speeding up the evolution and performing it many times. Roland et al., 2002, Physical Review A 65, 042308 describe a method of slowing down the adiabatic evolution at known points where an anti-crossing occurs, where the slow-down is proportional to the gap size of the anti-crossing. At points far away from anti-crossings, the evolution can be sped up. However, this technique is still unsatisfactory because it is difficult to determine the exact point where an anti-crossing occurs during the adiabatic evolution and its corresponding gap size. As a consequence, for an arbitrary evolution Hamiltonian, this technique is not effective.
Another approach to adiabatic quantum computation, known as “Thermally Assisted Adiabatic Quantum Computation”, is described in Amin, M.H.S. et al., “Thermally assisted adiabatic quantum computation,” PRL 100, 060503 (2008), pp 1-4. In this approach, anti-crossings may be passed non-adiabatically because transitions at anti-crossings are actually desired. The system is excited from the ground state to an excited state just before an anti-crossing, so that non-adiabatically passing the anti-crossing may result in a transition from the excited state back to the ground state. This technique forms at least part of the subject of US Patent Publication 2008-0162613.
Many methods for improving the speed of adiabatic quantum computation have been proposed; however, all of these methods focus on tailoring the evolution of the system to reduce the likelihood of being trapped in a local minimum. The present systems, methods and apparatus may provide improved techniques for adiabatic quantum computation that focus on tailoring the initial Hamiltonian so that evolving to the final Hamiltonian avoids local minima.
Quantum Annealing
Quantum annealing is a computation method that may be used to find a low-energy state, typically preferably the ground state, of a system. Similar in concept to classical annealing, the method relies on the underlying principle that natural systems tend towards lower energy states because lower energy states are more stable. However, while classical annealing uses classical thermal fluctuations to guide a system to its global energy minimum, quantum annealing may use quantum effects, such as quantum tunneling, to reach a global energy minimum more accurately and/or more quickly. It is known that the solution to a hard problem, such as a combinatorial optimization problem, may be encoded in the ground state of a system Hamiltonian and therefore quantum annealing may be used to find the solution to such hard problems. Adiabatic quantum computation is a special case of quantum annealing for which the system, ideally, begins and remains in its ground state throughout an adiabatic evolution. Thus, those of skill in the art will appreciate that quantum annealing systems and methods may generally be implemented on an adiabatic quantum computer, and vice versa. Throughout this specification and the appended claims, any reference to adiabatic quantum computation is intended to encompass quantum annealing in general unless the context requires otherwise.
Quantum annealing is an algorithm that uses quantum mechanics as a source of disorder during the annealing process. The optimization problem is encoded in a Hamiltonian HP, and the algorithm introduces strong quantum fluctuations by adding a disordering Hamiltonian HD that does not commute with HP. An example case is:HE=HP+ΓHD,
where Γ changes from a large value to substantially zero during the evolution and HE may be thought of as an evolution Hamiltonian similar to He described in the context of adiabatic quantum computation above. The disorder is slowly removed by removing HD (i.e., reducing Γ). Thus, quantum annealing is similar to adiabatic quantum computation in that the system starts with an initial Hamiltonian and evolves through an evolution Hamiltonian to a final “problem” Hamiltonian HP whose ground state encodes a solution to the problem. If the evolution is slow enough, the system will typically settle in a minimum close to the exact solution; the slower the evolution, the better the solution that will be achieved. The performance of the computation may be assessed via the residual energy (distance from exact solution using the objective function) versus evolution time. The computation time is the time required to generate a residual energy below some acceptable threshold value. In quantum annealing, HP may encode an optimization problem and therefore HP may be diagonal in the subspace of the qubits that encode the solution, but the system does not necessarily stay in the ground state at all times. The energy landscape of HP may be crafted so that its global minimum is the answer to the problem to be solved, and low-lying local minima are good approximations.
The gradual reduction of Γ in quantum annealing may follow a defined schedule known as an annealing schedule. Unlike traditional forms of adiabatic quantum computation where the system begins and remains in its ground state throughout the evolution, in quantum annealing the system may not remain in its ground state throughout the entire annealing schedule. As such, quantum annealing may be implemented as a heuristic technique, where low-energy states with energy near that of the ground state may provide approximate solutions to the problem.